# -- coding: utf-8 --
# @time :
# @author : 周梦泽
# @file : .py
# @software: pycharm

import os
import pandas as pd
from common.logger.log import log_


def read_csv(folder_path, file_type: str = 'csv', header=0):
    """
    读取csv文件
    1、设定查找路径
    2、查找路径下所有csv文件
    3、读取所有csv文件 为DataFrame
    4、将所有DataFrame合并为一个DataFrame return
    :return: total_df 将文件夹中的所有数据合并到一个表中
    """

    files = os.listdir(folder_path)
    csv_files = [file for file in files if file.endswith('.csv')]
    xlsx_files = [file for file in files if file.endswith('.xlsx')]
    dfs = []
    # 筛选出所有 CSV 文件
    if file_type == 'xlsx':
        if len(xlsx_files) == 0:
            raise FileNotFoundError('文件夹中没有xlsx文件')
        for xlsx_file in xlsx_files:
            dfs.append(pd.read_excel(os.path.join(folder_path, xlsx_file), header=header))
        total_df = pd.concat(dfs, ignore_index=True)
    else:
        if len(csv_files) == 0:
            raise FileNotFoundError('文件夹中没有csv文件')
        for csv_file in csv_files:
            # 读取所有csv文件,并将其添加到列表中
            dfs.append(pd.read_csv(os.path.join(folder_path, csv_file), header=header))
        total_df = pd.concat(dfs, ignore_index=True)
    # ignore_index = true 生成新的索引
    return total_df
